#import "XMPPPresence.h"
#import "XMPPService.h"

@interface XMPPPresence ()
@property (nonatomic, readwrite, retain) XMPPPresenceStanza *stanza;
@property (nonatomic, readwrite, assign) XMPPService *service;
@end

@implementation XMPPPresence
@synthesize stanza = _stanza;
@synthesize service = _service;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark Constructors/Destructors
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- (id)initWithPresenceStanza:(XMPPPresenceStanza *)stanza service:(XMPPService *)service
{
	self = [super init];
	if (self != nil)
	{
		self.stanza = stanza;
		self.service = service;
	}
	return self;
}

- (void)dealloc
{
	[_stanza release]; _stanza = nil;
	_service = nil;
	[super dealloc];
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark Accessors
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- (XMPPJID *)fromJID
{
	return self.stanza.fromJID;
}

- (void)setFromJID:(XMPPJID *)aJID
{
	self.stanza.fromJID = aJID;
}

- (XMPPJID *)toJID
{
	return self.stanza.toJID;
}

- (void)setToJID:(XMPPJID *)aJID
{
	self.stanza.toJID = aJID;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark Actions
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- (void)send
{
	[self.service sendStanza:self.stanza];
}

@end
